package com.infolab.aims.service.intf;

import java.util.Date;
import java.util.List;

import com.infolab.aims.common.bean.SearchCriteria;
import com.infolab.aims.common.bean.SearchResult;
import com.infolab.aims.domain.workorder.WorkOrder;
import com.infolab.aims.domain.workorder.WorkOrderTechnician;

public interface WorkOrderServiceFacade {
	
	public void createWorkOrder(WorkOrder workOrder);
	
	public WorkOrder getWorkOrder(Integer workOrderId);
	
	public WorkOrderTechnician getWorkOrderTechnician(Integer workOrderTechnicianId);
	
	public List getCountWorkOrderWeek(Date startDate,Date endDate,Integer departmentId);
	
	public WorkOrder findWorkOrder(SearchCriteria searchCriteria);
	
	public List<WorkOrder> findWorkOrders(SearchCriteria searchCriteria);
	
	public List<WorkOrder> findWorkOrdersHistory(String taxiNo,String workOrderCode);
	
	public SearchResult searchWorkOrder(SearchCriteria searchCriteria);
	
	public void updateWorkOrder(WorkOrder workOrder);
	
	public void closeWorkOrder(WorkOrder workOrder);
	
	public void cancelWorkOrder(WorkOrder workOrder);
	
	public void updateWorkOrderTecnician(WorkOrderTechnician workOrderTechnician);
	
	public void updateWorkOrderTecnicianTime(WorkOrderTechnician workOrderTechnician);
	
	public void updateClockInOut(WorkOrderTechnician workOrderTechnician);
	
	public void deleteWorkOrder(Integer workOrderId);
	
}
